package net.hn.hnms.biz.api.safety.water.fegin;

import io.swagger.annotations.ApiOperation;
import net.hn.hnms.biz.api.feign.base.FeignClientsConfigurationCustom;
import net.hn.hnms.biz.api.feign.model.DataStateVo;
import net.hn.hnms.biz.api.safety.monitor.model.BaseSensorCoordDto;
import net.hn.hnms.biz.api.safety.support.domain.MineNowAlarmVo;
import net.hn.hnms.sys.common.core.constant.ServiceNameConstants;
import net.hn.hnms.sys.common.core.domain.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@FeignClient(contextId = "RemoteWaterService", value = ServiceNameConstants.CMIM_BIZ_SAFETY_APP
        ,fallback = RemoteWaterServiceFallback.class,configuration = FeignClientsConfigurationCustom.class
)
@Component
public interface RemoteWaterService {
    /**
     * 获取公司端煤矿实时报警数
     */
    @ApiOperation("获取公司端水害报警")
    @GetMapping("group/riskMonitor/nowAlarm")
     List<MineNowAlarmVo> nowAlarm();

    @GetMapping("/riskMonitor/flood/getHolerealMaxTime")
    R<List<DataStateVo>> getHolerealMaxTime(@RequestParam("mineCode") String mineCode, @RequestParam("companyCode")  String companyCode);
    @GetMapping("/riskMonitor/flood/getPSLMaxTime")
    R<List<DataStateVo>> getPSLMaxTime(@RequestParam("mineCode") String mineCode, @RequestParam("companyCode")  String companyCode);
    @GetMapping("/riskMonitor/flood/getYSLMaxTime")
    R<List<DataStateVo>> getYSLMaxTime(@RequestParam("mineCode") String mineCode, @RequestParam("companyCode")  String companyCode);

    /**
     * 获取水害防治BaseSensorTable表所有信息
     */
    @GetMapping("remoteShfz/getBaseSensorTableAllList")
    List<BaseSensorCoordDto> getBaseSensorTableAllList(@RequestParam("mineCode") String mineCode, @RequestParam("companyCode")  String companyCode);
}
